注:左上角图标的添加方式(老版本和新版本俩种方法)放在文章最后 注此方法针对的为2019版本及之前的版本,比较新版本以增添该功能,直接设置uifigure的Icon属性即可,使用压缩包内文件可将startupFcn函数内内容完全删除
以下为原文章:
今天要做的是一个简易电子词典,效果如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210304185953106.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsYW5kYXJlcg==,size_16,color_FFFFFF,t_70#pic_center)
参考文章:你想拥有属于自己的电子词典吗——用MATLAB写一部电子词典的教程 知乎 Phantoms
目录
1 App创建2 控件创建及属性设置2.1 背景2.2 标签(词典说明)2.3 输入框及查询按钮2.4 查询结果框
3 单词查询原理4 按钮回调5 APP打包及安装5.1 安装包封面5.2 说明5.3 图标5.4 APP安装
1 App创建
既然是零基础。。。。我们首先就要从怎么打开APP designer开始: 我们如果是新创建app程序(mlapp后缀文件),可以通过 新建→App来创建(如果是已经创建好的mlapp文件,直接双击该文件即可): , 之后我们选择新建空白App创建文件 点击运行后,可以在此处改变app名字: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210304154611953.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsYW5kYXJlcg==,size_16,color_FFFFFF,t_70#pic_center)
2 控件创建及属性设置
2.1 背景
在组件管理器点击组件可以设置其属性: 在右侧属性被编辑时,中间自动生成代码和左边App展示框会随之变化: 对于该App来说,UIfigure需要做出的属性修改如下:
更改背景颜色(Color)更改初始位置(Position)App大小无法随意调整(Resize)更改App界面左上角名称(Name)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210304160059357.jpg#pic_center)
2.2 标签(词典说明)
我们通过拖拽的方式创建其他组件: 该文本区域在使用时不需要对其进行编辑,因此只需要用label即可完成任务 我们可以通过拖拽改变其位置及大小,也可通过属性修改器输入数值改变其位置及大小,除位置外最终需要改变的属性如下:
标签文本(Text)文本居中(HorizontalAlognment)字号(FontSize)文字字体(FontName)文字加粗(FontWetght)文本颜色(FontColor)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021030416153814.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsYW5kYXJlcg==,size_16,color_FFFFFF,t_70#pic_center)
2.3 输入框及查询按钮
输入框使用可编辑文本框,左侧标签可通过Delete删除 为了保持简洁,该处按钮及输入框未设置过多属性: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210304162645399.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsYW5kYXJlcg==,size_16,color_FFFFFF,t_70#pic_center)
2.4 查询结果框
也是一个文本展示框,但为了方便复制,这里使用文本区域TextArea组件而不是Label组件 创建文本区域后建议将Editable取消,这样仍可以复制,但内容无法通过APP外的手段修改: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210304163413325.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsYW5kYXJlcg==,size_16,color_FFFFFF,t_70#pic_center)
3 单词查询原理
我们发现有道词典在搜索一个单词时,会跳转链接,该链接包含所搜索词汇 实际上搜索不同词汇时 ,链接变化只有中间一小截而已,对于不同搜索词汇,所要访问的链接如下:
url=[‘http://www.youdao.com/w/’ search_word ‘/#keyfrom=dict2.top’];
search_word 即为要搜词汇,获得链接后直接使用 urlread(url)获取HTML网页内容,获取的格式是这样的: 我们发现在 及之间的内容就是我们想要的,因此我们只需要通过regexpi函数定位并提取该部分内容即可 该部分代码如下(未转成APP 的版本):
function search_result=search(search_word)
url=['http://www.youdao.com/w/' search_word '/#keyfrom=dict2.top'];
complete_code=urlread(url);
trans=regexpi(complete_code,'');
trans=trans(1);
if ~isempty(trans)
trans_end1=regexpi(complete_code,'');
trans_end1(trans_end1 |